package com.xbongbong.saas.service;

import com.xbongbong.paas.toolbox.exception.XbbException;

import java.util.List;

/**
 * 资金账户流水Service
 *
 * @author 徐俊杰
 * @date 2020/3/17 14:16
 * @since v1.0
 */
public interface FundAccountFlowService {

    /**
     * 批量删除
     * @param sheetIdIn 需要删除的回款单/付款单ID
     * @param type 类型 1-回款单 2-付款单
     * @param corpid 公司ID
     * @throws XbbException error
     * @author zhouwq
     * @date 2020/3/20 9:46
     * @update 2020/11/18 从model内移入，并优化为es读取
     */
    void deleteBatch(List<Long> sheetIdIn, Integer type, String corpid) throws XbbException;

    /**
     * 新增流水失败时回滚es--直接删除es数据
     * @param corpid 公司id
     * @param type 类型
     * @param sheetIdIn 回/付款单id集合
     * @throws XbbException
     * @return java.util.List<com.xbongbong.saas.domain.entity.FundAccountFlowEntity>
     * @author zcp
     * @since v1.0
     * @version v1.0
     */
    void addRollback(String corpid, Integer type, List<Long> sheetIdIn) throws XbbException;

    /**
     * 流水更新失败回滚es
     * @param corpid 公司id
     * @param type 类型
     * @param sheetIdIn 回/付款单id集合
     * @throws XbbException
     * @author zcp
     * @since v1.0
     * @version v1.0
     */
    void updateRollback(String corpid, Integer type, List<Long> sheetIdIn) throws XbbException;
}
